﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp7
{
//静态字段存储的值在所有实例化之间是共享的。
//作业：
//现在开班了，班里老师只有一个，叫唐僧。班里的五个人都知道老师叫唐僧(也就是说老师这个字段是共享的)。但是某一天唐僧要去女儿国走丈母娘家了，课不能停啊。所以就请嫦娥姐姐过来带一段课。
//现在5个学生都知道老师换成嫦娥姐姐了，都很激动哈。但是她们是怎么都知道换老师的呢？还是这个静态字段的功劳，将老师姓名声明为静态字段，这个字段是共享的。所以该类的属性都能知道。
//请用代码写出上面的剧情。
//提示：
//定义一个学生类（有哪些字段属性？修饰符是什么？自己考量定义，至少学生姓名要吧），定义一个有参构造方法用来初始化学生姓名。学生类中定义一个成员方法，用来输出学生的信息。
//Main方法中，创建5个学生对象，每个学生执行输出学生信息的方法。
//学生的老师变更，
//再执行每个学生执行输出学生信息的方法。
    class Demo05
    {
        public string Name { get; set; }
        public char Sex { get; set; }
        public int Age { get; set; }
        public static string Teacher { get; set; }
        public void Test()
        {
            Console.WriteLine("名字：{0}", this.Name);
            Console.WriteLine("性别：{0}", this.Sex);
            Console.WriteLine("年龄：{0}", this.Age);
            Console.WriteLine("老师：{0}", Teacher);
        }
        public Demo05(string name, char sex, int age, string teacher)
        {
            this.Name = name;
            this.Sex = sex;
            this.Age = age;
            Teacher = teacher;
        }
        static void Main(string[] args)
        {
            Demo05 C1 = new Demo05("张三", '男', 18, "唐僧");
            Demo05 C2 = new Demo05("李四", '男', 20, "唐僧");
            C1.Test();
            C2.Test();
            Console.WriteLine("更改后：");
            Teacher = "嫦娥";
            C1.Test();
            C2.Test();
        }
    }
}
